/******************************************************************
 Copyright (C) 2019 - All Rights Reserved by
 文 件 名 : rollsubtitleswidget.h --- RollSubtitlesWidget
 作 者    : 倪Niyh 华
 编写日期 : 2019
 说 明    : 滚动字幕类
 历史纪录 :
 <作者>    <日期>        <版本>        <内容>
  Niyh	   2019    1.0.0.0 1     文件创建
*******************************************************************/
#ifndef ROLLSUBTITLESWIDGET_H
#define ROLLSUBTITLESWIDGET_H

#include <QWidget>
#include <QTimer>

class RollSubtitlesWidget : public QWidget {
    Q_OBJECT
public:
    explicit RollSubtitlesWidget(QWidget *parent = 0);
    ~RollSubtitlesWidget();

    /* 设置文字滚动方向 */
    typedef enum
    {
        LEFT_DIRECTION,     // 从右往左运动
        RIGHT_DIRECTION,    // 从左往右运动
    } E_DIRECTION;


    // 设置字幕颜色
    void setTextColor(const QString &color);
    void clearText();

    // 设置字幕
    void setText(const QString &text, int direction = LEFT_DIRECTION);
    QString getText() const;

signals:

public slots:

private:
    QTimer      *m_timer;

    // 偏移x位置
    int         m_nXoffset;
    // 文字移动方向
    int         m_nDirection;

    // 字号设置
    QString     m_strTextColor;
    int         m_nFontPixsize;

    QString     m_strText;
private slots:
    void slot_timerout();

protected:
    void paintEvent(QPaintEvent *);
};

#endif // ROLLSUBTITLESWIDGET_H
